public class Test {
  public static void main(String[] args) {
    int v1 = 3;
    //byte v2 = v1; //[PB] нельзя неявно преобразовать int в byte
    byte v2 = (byte)v1;
    System.out.println(v2);
    v1 = 256;
    //byte v3 = v1; //[PB] переполнение типа
    int v3 = v1; 
    System.out.println(v3);
    int v4 = 's';
    System.out.println(v4);
		
    byte v5 = 115;
    if (v5 == 's') {
      System.out.println("Equals");
    }
	
    //TODO: What exactly will be printed?
    System.out.println((double)4);
    //[PB] будет выведено 4.0
		
    //TODO: What exactly will be printed?
    double d = 5;
    System.out.println(d + 1);
    //[PB] будет выведено 6.0
	
    //boolean b = v4; //[PB] нельзя преобразовать ни один тип к типу boolean	
    //short v6 = "short"; //[PB] нельзя преобразовать строку в тип shotr
    //float v7 = 3.67; //[PB] по умолчнию литерал с плав. точкой считается double'ом, а этот тип не может быть неявно преобразован в float
    float v7 = 3.67f;
    float v9 = 3;//TODO: Why there is no compilation error?
    //[PB] Потому, что int может быть неявно преобразован в float
    int v8 = (int)v7; //[PB] нельзя неявно преобразовать float в int
    //int array[] = new double["27"]; //[PB] нужен конструктор для типа int[]
    int array[] = new int[27];
  }
}
